package com.ces.knacky.model;

import java.io.Serializable;
import java.util.Set;

import javax.xml.bind.annotation.XmlTransient;

import org.apache.commons.lang.builder.EqualsBuilder;

import com.ces.knacky.framework.model.AbstractBaseEntity;

/** @author Hibernate CodeGenerator */
public class Flag extends AbstractBaseEntity implements Serializable {
    /** persistent field */
    private Set users;

    /** persistent field */
    private Set auctions;

    /** persistent field */
    private Set itemBrands;

    /** persistent field */
    private Set companyAddresses;

    /** persistent field */
    private Set userAddresses;

    /** persistent field */
    private Set bidWorkflowStatuses;

    /** persistent field */
    private Set states;

    /** persistent field */
    private Set bids;

    /** persistent field */
    private Set orders;

    /** persistent field */
    private Set itemWorkflowStatuses;

    /** persistent field */
    private Set itemCategories;

    /** persistent field */
    private Set companyCategories;

    /** persistent field */
    private Set countries;

    /** persistent field */
    private Set userRoles;

    /** persistent field */
    private Set orderItems;

    /** persistent field */
    private Set categories;

    /** persistent field */
    private Set auctionItems;

    /** persistent field */
    private Set addresses;

    /** persistent field */
    private Set inventories;

    /** persistent field */
    private Set items;

    /** persistent field */
    private Set companies;

    /** persistent field */
    private Set orderInventories;

    /** persistent field */
    private Set brands;

    /** full constructor */
    public Flag(String description, Set users, Set auctions, Set itemBrands, Set companyAddresses, Set userAddresses, Set bidWorkflowStatuses, Set states, Set bids, Set orders, Set itemWorkflowStatuses, Set itemCategories, Set companyCategories, Set countries, Set userRoles, Set orderItems, Set categories, Set auctionItems, Set addresses, Set inventories, Set items, Set companies, Set orderInventories, Set brands) {
        this.description = description;
        this.users = users;
        this.auctions = auctions;
        this.itemBrands = itemBrands;
        this.companyAddresses = companyAddresses;
        this.userAddresses = userAddresses;
        this.bidWorkflowStatuses = bidWorkflowStatuses;
        this.states = states;
        this.bids = bids;
        this.orders = orders;
        this.itemWorkflowStatuses = itemWorkflowStatuses;
        this.itemCategories = itemCategories;
        this.companyCategories = companyCategories;
        this.countries = countries;
        this.userRoles = userRoles;
        this.orderItems = orderItems;
        this.categories = categories;
        this.auctionItems = auctionItems;
        this.addresses = addresses;
        this.inventories = inventories;
        this.items = items;
        this.companies = companies;
        this.orderInventories = orderInventories;
        this.brands = brands;
    }

    /** default constructor */
    public Flag() {
    }

    @XmlTransient
    public Set getUsers() {
        return this.users;
    }

    
    public void setUsers(Set users) {
        this.users = users;
    }

    @XmlTransient
    public Set getAuctions() {
        return this.auctions;
    }

    public void setAuctions(Set auctions) {
        this.auctions = auctions;
    }

    @XmlTransient
    public Set getItemBrands() {
        return this.itemBrands;
    }

    public void setItemBrands(Set itemBrands) {
        this.itemBrands = itemBrands;
    }
    
    @XmlTransient
    public Set getCompanyAddresses() {
        return this.companyAddresses;
    }

    public void setCompanyAddresses(Set companyAddresses) {
        this.companyAddresses = companyAddresses;
    }
    
    @XmlTransient
    public Set getUserAddresses() {
        return this.userAddresses;
    }

    public void setUserAddresses(Set userAddresses) {
        this.userAddresses = userAddresses;
    }

    @XmlTransient
    public Set getBidWorkflowStatuses() {
        return this.bidWorkflowStatuses;
    }

    
    public void setBidWorkflowStatuses(Set bidWorkflowStatuses) {
        this.bidWorkflowStatuses = bidWorkflowStatuses;
    }

    @XmlTransient
    public Set getStates() {
        return this.states;
    }

    public void setStates(Set states) {
        this.states = states;
    }

    @XmlTransient
    public Set getBids() {
        return this.bids;
    }

    public void setBids(Set bids) {
        this.bids = bids;
    }

    @XmlTransient
    public Set getOrders() {
        return this.orders;
    }

    public void setOrders(Set orders) {
        this.orders = orders;
    }

    @XmlTransient
    public Set getItemWorkflowStatuses() {
        return this.itemWorkflowStatuses;
    }

    
    public void setItemWorkflowStatuses(Set itemWorkflowStatuses) {
        this.itemWorkflowStatuses = itemWorkflowStatuses;
    }

    @XmlTransient
    public Set getItemCategories() {
        return this.itemCategories;
    }

    public void setItemCategories(Set itemCategories) {
        this.itemCategories = itemCategories;
    }

    @XmlTransient
    public Set getCompanyCategories() {
        return this.companyCategories;
    }

    public void setCompanyCategories(Set companyCategories) {
        this.companyCategories = companyCategories;
    }

    @XmlTransient
    public Set getCountries() {
        return this.countries;
    }

    public void setCountries(Set countries) {
        this.countries = countries;
    }

    @XmlTransient
    public Set getUserRoles() {
        return this.userRoles;
    }

    public void setUserRoles(Set userRoles) {
        this.userRoles = userRoles;
    }

    @XmlTransient
    public Set getOrderItems() {
        return this.orderItems;
    }

    
    public void setOrderItems(Set orderItems) {
        this.orderItems = orderItems;
    }

    @XmlTransient
    public Set getCategories() {
        return this.categories;
    }

    public void setCategories(Set categories) {
        this.categories = categories;
    }

    @XmlTransient
    public Set getAuctionItems() {
        return this.auctionItems;
    }

    public void setAuctionItems(Set auctionItems) {
        this.auctionItems = auctionItems;
    }

    @XmlTransient
    public Set getAddresses() {
        return this.addresses;
    }

    public void setAddresses(Set addresses) {
        this.addresses = addresses;
    }

    @XmlTransient
    public Set getInventories() {
        return this.inventories;
    }

    public void setInventories(Set inventories) {
        this.inventories = inventories;
    }

    @XmlTransient
    public Set getItems() {
        return this.items;
    }

    
    public void setItems(Set items) {
        this.items = items;
    }

    @XmlTransient
    public Set getCompanies() {
        return this.companies;
    }

    public void setCompanies(Set companies) {
        this.companies = companies;
    }

    @XmlTransient
    public Set getOrderInventories() {
        return this.orderInventories;
    }

    public void setOrderInventories(Set orderInventories) {
        this.orderInventories = orderInventories;
    }

    @XmlTransient
    public Set getBrands() {
        return this.brands;
    }

    public void setBrands(Set brands) {
        this.brands = brands;
    }


    public boolean equals(Object other) {
        if ( !(other instanceof Flag) ) return false;
        Flag castOther = (Flag) other;
        return new EqualsBuilder()
            .append(this.getId(), castOther.getId())
            .isEquals();
    }
}
